EC2インスタンスメタデータv2からワンライナーでクレデンシャルを取得してみた
EC2のクレデンシャルを漏洩させるためのワンライナーをIMDSv2ように作りました。GuardDutyの検証が捗りますね。
2024.10.29
こんにちは、臼田です。
みなさん、EC2のクレデンシャル漏洩してますか?(挨拶
今回は、下記の以前書いたEC2インスタンスメタデータからワンライナーでクレデンシャルを取得するブログのIMDSv2版です。
クレデンシャルを漏洩させてGuardDutyの検出をシミュレーションしましょう。
ワンライナー
IMDSv2環境でのワンライナーはこちらです。
mu=http://169.254.169.254/latest/meta-data/iam/security-credentials/;TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` && curl -H "X-aws-ec2-metadata-token: $TOKEN" -s $mu | echo $mu$(cat) | xargs -n1 curl -H "X-aws-ec2-metadata-token: $TOKEN"
一応の解説
この趣旨は前回の記事で書いているのですが、ちょこっと書いておきます。
IMDSv2を利用するとEC2の脆弱性を利用されてインスタンスメタデータが流出することを抑止することが可能です。しかしそれで完全に防止することができるわけではありません。あくまで攻撃の難易度が上がるだけです。
というわけで引き続きインスタンスメタデータの漏洩に留意してアプリケーションを構築する必要があります。
今回のワンライナーを利用することで漏洩時のシミュレーションをしてGuardDutyで検出させることができるので、実際にどのような検出をするのか、どう対処すべきか検討できます。是非活用してください。
まとめ
EC2のクレデンシャルを漏洩して、いっぱい検証しよう!